package com.geeklan.smart.utils;

import android.content.Context;
import android.database.Cursor;
import android.net.Uri;

import com.umeng.commonsdk.debug.E;

public class ImagePathUtils {

    // 获取图片的绝对路径
    public static String getImagePath(Context context, Uri uri) {
        if ("content".equalsIgnoreCase(uri.getScheme())) {
            // Content 类型的 Uri
            return getDataColumn(context, uri);
        } else if ("file".equalsIgnoreCase(uri.getScheme())) {
            // File 类型的 Uri
            return uri.getPath();
        }
        return null;
    }

    // 获取 Content 类型 Uri 的路径
    private static String getDataColumn(Context context, Uri uri) {
        Cursor cursor = null;
        final String column = "_data"; // 图片路径在数据库中的列名
        final String[] projection = {column};

        try {
            cursor = context.getContentResolver().query(uri, projection, null, null, null);
            if (cursor != null && cursor.moveToFirst()) {
                int columnIndex = cursor.getColumnIndexOrThrow(column);
                return cursor.getString(columnIndex);
            }
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
        return null;
    }
}

